
package pr.types;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the pr.types package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _PurchaseRequisitionTypeCreatedDate_QNAME = new QName("http://xmlns.speridian.internal/EnterpriseObject/OM/ITPurchaseReceiptNote", "createdDate");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: pr.types
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link PurchaseRequisition }
     * 
     */
    public PurchaseRequisition createPurchaseRequisition() {
        return new PurchaseRequisition();
    }

    /**
     * Create an instance of {@link PurchaseRequisitionType }
     * 
     */
    public PurchaseRequisitionType createPurchaseRequisitionType() {
        return new PurchaseRequisitionType();
    }

    /**
     * Create an instance of {@link PurchaseRequisitionHeaderType }
     * 
     */
    public PurchaseRequisitionHeaderType createPurchaseRequisitionHeaderType() {
        return new PurchaseRequisitionHeaderType();
    }

    /**
     * Create an instance of {@link ItemDetailsType }
     * 
     */
    public ItemDetailsType createItemDetailsType() {
        return new ItemDetailsType();
    }

    /**
     * Create an instance of {@link ConfigurationType }
     * 
     */
    public ConfigurationType createConfigurationType() {
        return new ConfigurationType();
    }

    /**
     * Create an instance of {@link ProcessResponse }
     * 
     */
    public ProcessResponse createProcessResponse() {
        return new ProcessResponse();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link XMLGregorianCalendar }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://xmlns.speridian.internal/EnterpriseObject/OM/ITPurchaseReceiptNote", name = "createdDate", scope = PurchaseRequisitionType.class)
    public JAXBElement<XMLGregorianCalendar> createPurchaseRequisitionTypeCreatedDate(XMLGregorianCalendar value) {
        return new JAXBElement<XMLGregorianCalendar>(_PurchaseRequisitionTypeCreatedDate_QNAME, XMLGregorianCalendar.class, PurchaseRequisitionType.class, value);
    }

}
